/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package modelo;


import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;

/**
 *
 * @author DAHER
 */
public class AdmMateria {
    
public boolean agregarMateria(Materia mat) throws SQLException{
  
  boolean res=false; 
  Conector.conexion();
  Connection coneccion=Conector.getConexion();
  PreparedStatement consulta= coneccion.prepareStatement("insert into materia values(default,?,?)");
  consulta.setString(1,mat.getNombre());
  consulta.setString(2,mat.getDescripcion());
  int i=consulta.executeUpdate();
  if(i==1)
      res=true;
  Conector.cerrarConexion();
  return res;
}
public boolean eliminarMateria(String lista[]) throws SQLException{
   boolean res=false;   
    try {
        int id;
        Conector.conexion();
         Connection coneccion=Conector.getConexion();
         System.out.println("numero de materias a eliminar: "+lista.length);
         System.out.println("id de la materia a eliminar: "+lista[0]);
         System.out.println("id de materia a eliminar: "+lista[1]);
         PreparedStatement consulta= coneccion.prepareStatement("delete from materia where id_materia=?");
  
  for(int i=0;i<lista.length;i++){
      id=Integer.parseInt(lista[i]);
  consulta.setInt(1,id);  
  consulta.execute();
  }res=true;     
    } catch (Exception e) {
      throw new RuntimeException(e);
    }   
   Conector.cerrarConexion();
   return res;
}
public Materia getMateria(int id){
   Materia mat=null;
    try {Conector.conexion();
         Connection conectar=Conector.getConexion();
       PreparedStatement consulta=conectar.prepareStatement("select * froom materia where id_materia=?");
       consulta.setInt(1, id);
       ResultSet res=consulta.executeQuery();
       if(res.next()){
        mat=new Materia(res.getInt(1),res.getString(2),res.getString(3));
       }
    } catch (Exception e) {
    }
 return mat;
}
public boolean actualizarMateria(Materia mat) throws SQLException{
   boolean res=false;
    Conector.conexion();
   Connection coneccion=Conector.getConexion();
  PreparedStatement consulta= coneccion.prepareStatement("update materia set nombre=? ,descripcion=? where id_materia=?");
  consulta.setString(1,mat.getNombre());
  consulta.setString(2,mat.getDescripcion());
  consulta.setInt(3,mat.getId());
  int i=consulta.executeUpdate();
  if(i==1){res=true;}
  return res;
}

public static ArrayList<Materia> getMaterias() throws SQLException{
   ArrayList<Materia> list=new ArrayList<Materia>();
    Conector.conexion();
   Connection coneccion=Conector.getConexion();
  PreparedStatement consulta= coneccion.prepareStatement("select * from materia");
  ResultSet res=consulta.executeQuery();
  while(res.next()){
    list.add(new Materia(res.getInt(1),res.getString(2),res.getString(3)));
  
  }
return list;

}


}